package com.example.demo.util;

import com.example.demo.domain.entity.ParameterAttributeValueEntity;
import com.example.demo.domain.entity.ParameterDefinitionEntity;
import com.example.demo.domain.entity.ParameterEntity;
import com.example.demo.domain.entity.ParameterValueEntity;
import com.example.demo.domain.model.Parameter;
import com.example.demo.domain.model.ParameterAttributeValue;
import com.example.demo.domain.model.ParameterDefinition;
import com.example.demo.domain.model.ParameterValue;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class ParameterVOToEntity {
    public ParameterEntity transferParameterToEntity(Parameter parameter) {
        ParameterEntity entity = new ParameterEntity();
        BeanUtils.copyProperties(parameter,entity);
        entity.setUpdateDate(new Date());
        return entity;
    }

    public ParameterDefinitionEntity transferParameterDefinitionToEntity(ParameterDefinition parameterAttributeDefinition) {
        ParameterDefinitionEntity entity = new ParameterDefinitionEntity();
        BeanUtils.copyProperties(parameterAttributeDefinition,entity);
        return entity;
    }

    public ParameterValueEntity transferParameterValueToEntity(ParameterValue parameterValue) {
        ParameterValueEntity entity = new ParameterValueEntity();
        BeanUtils.copyProperties(parameterValue,entity);
        return entity;
    }

    public ParameterAttributeValueEntity transferParameterAttributeValueToEntity(ParameterAttributeValue parameterAttributeValue) {
        ParameterAttributeValueEntity entity = new ParameterAttributeValueEntity();
        BeanUtils.copyProperties(parameterAttributeValue,entity);
        entity.setUpdateDate(new Date());
        return entity;
    }
}
